copy_from_user(&addr, (unsigned long *)buff, sizeof(addr));
+ printk("bd240 debug: dom_mem_write addr %lx\n", addr);
+
if(direct_disc_unmap(addr, mem_data->pfn, mem_data->tot_pages) == 0){
return sizeof(addr);
} else {
dmmap->addr = addr;
list_add(&dmmap->list, ¤t->mm->context.direct_list);
+ printk("bd240 debug: direct_mmap: enlisting addr %lx\n", dmmap->addr);
+
/* and perform the mapping */
if(flag == MAP_DISCONT){
ret = direct_remap_disc_page_range(addr, phys_addr, tot_pages, prot);
struct list_head * curr;
struct list_head * direct_list = ¤t->mm->context.direct_list;
+ printk("bd240 debug: direct_disc_unmap: from %lx\n", from);
+
curr = direct_list->next;
while(curr != direct_list){
node = list_entry(curr, direct_mmap_node_t, list);
+
+ printk("bd240 debug: direct_disc_unmap: node %lx\n", node->addr);
+
if(node->addr == from)
break;
curr = curr->next;